home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 2
/
Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso
/
Aminet
/
util
/
libs
/
MultiReq.lha
/
MultiReq
/
Anleitung
/
Library.dok
next >
Wrap
Text File
|
1992-11-12
|
17KB
|
584 lines
###############################################################################
## ##
## M M ll tt ii RRRRR ##
## MM MM ll tt RR RR ##
## MMM MMM uu uu ll ttttt ii RR RR eeee qqqqq ##
## MMMMMMM uu uu ll tt ii RRRRR ee ee qq qq ##
## MM M MM uu uu ll tt ii RR RR eeeeee qq qq ##
## MM MM uu uu ll tt ii RR RR ee qqqqq ##
## MM MM uuuuu ll ttt ii RR RR eeee qq ##
## qq ##
## ##
###############################################################################
MultiReq v1.20 © 11/1992 by Andreas Krebs (veröffentlicht am 12-Nov-92)
Diese Datei enthält eine ausführliche Beschreibung aller Funktionen der
"multireq.library". Die Funktionen werden in der Reihenfolge ihrer Offsets
aufgelistet.
Alle diese Funktionen verändern NUR die Register, die unter Ergebnisse
aufgelistet aufgelistet sind und eventuel D0 als Rückgaberegister. Alle anderen
Register werden nicht verändert, auch wenn sie zur Parameterübergabe benützt
werden.
multireq.library/StrLen multireq.library/StrLen
NAME
StrLen -- ermittelt die Länge eines Textstrings
SYNTAX
length = StrLen( str )
D0 -30 A0
UWORD StrLen( UBYTE * )
FUNKTION
Diese Funktion ermittelt die Länge eines Textstrings, wobei die Länge
ohne das abschließende Nullbyte gezählt wird.
EINGABEN
str - Zeiger auf einen nullterminierten String
ERGEBNISSE
length - Länge des Strings in Bytes
A0 - Adresse des abschließenden Nullbytes
SIEHE AUCH
StrCpy, StrCmp, StrIns, UpperCase, TestPattern
multireq.library/StrCpy multireq.library/StrCpy
NAME
StrCpy -- kopiert den einen Textstring
SYNTAX
StrCpy( src, dest )
-36 A0 A1
void StrCpy( UBYTE *, UBYTE * )
FUNKTION
Diese Funktion kopiert den Textstring src in den Textstring dest, wobei der
Kopiervorgang beendet wird, wenn das abschließende Nullbyte erreicht ist.
EINGABEN
src - Zeiger auf den nullterminierten Quellenstring
dest - Zeiger auf einen Adressbereich für den Zielstring
ERGEBNISSE
A0 - Adresse des abschließenden Nullbytes des Quellenstrings
A1 - Adresse des abschließenden Nullbytes des Zielstrings
SIEHE AUCH
StrLen, StrCmp, StrIns, UpperCase, TestPattern
multireq.library/StrCmp multireq.library/StrCmp
NAME
StrCmp -- vergleicht zwei Textstrings
SYNTAX
dif = StrCmp( str1, str2 )
D0 -42 A0 A1
WORD StrCmp( UBYTE *, UBYTE * )
FUNKTION
Diese Funktion vergleicht zwei Textstrings miteinander, wobei nicht zwischen
Groß- und Kleinschreibung unterschieden ist.
Wenn dif < 0 ist, ist String str1 "kleiner" als String str2, d.h. der ASCII-
code von str1 ist niedriger als der von str2.
Wenn dif = 0 ist, sind str1 und str2 identisch.
Wenn dif > 0 ist, ist str1 "größer" als str2.
EINGABEN
str1 - Zeiger auf den ersten nullterminierten String
str2 - Zeiger auf den zweiten nullterminierten String
ERGEBNISSE
dif - Unterschied zwischen str1 und str2
A0 - Adresse des unterschiedlichen Zeichens in str1
A1 - Adresse des unterschiedlichen Zeichens in str2
SIEHE AUCH
StrLen, StrCpy, StrIns, UpperCase, TestPattern
multireq.library/StrIns multireq.library/StrIns
NAME
StrIns -- fügt einen TextString in einen anderen ein
SYNTAX
StrIns( src, dest )
-48 A0 A1
void StrIns( UBYTE *, UBYTE * )
FUNKTION
Diese Funktion fügt einen Textstring in einen anderen ein, dazu wird zunächst
der Zielstring dest um StrLen( src ) verschoben und anschließend wird src in
die entstandene Lücke eingefügt.
EINGABEN
src - Zeiger auf den einzufügenden String
dest - Zeiger auf die Position, an der der String eingefügt werden soll
ERGEBNISSE
SIEHE AUCH
StrLen, StrCpy, StrCmp, UpperCase, TestPattern
multireq.library/UpperCase multireq.library/UpperCase
NAME
UpperCase -- wandelt einen Buchstaben in Großbuchstaben um
SYNTAX
character = Uppercase( character )
D0 -54 D0
UBYTE UpperCase( UBYTE )
FUNKTION
Diese Funktion wandelt das angegeben Zeichen in einen Großbuchstaben um,
sofern es sich um einen Buchstaben handelt. Es werden auch Sonderzeichen wie
Umlaute berücksichtigt.
EINGABEN
character - der umzuwandelnte Buchstabe
ERGEBNISSE
character - der entsprechende Großbuchstabe
SIEHE AUCH
StrLen, StrCpy, StrCmp, StrIns, TestPattern
multireq.library/TestPattern multireq.library/TestPattern
NAME
TestPattern -- überprüft, ob ein String einem bestimmten Muster entspricht
SYNTAX
result = TestPattern( wild, str )
D0 -60 A0 A1
BOOL TestPattern( UBYTE *, UBYTE * )
FUNKTION
Diese Funktion überprüft, ob der Textstring str, dem durch den Musterstring
wild definierten Muster entspricht, wobei das Zeichen '*' für einen beliebig
langen Teilstring steht und '|' zwei Muster voneinander trennt.
Bei der Überprüfung wird nicht zwischen Groß- und Kleinschreibung unter-
schieden, weshalb z.B. "a*" identisch ist mit "A*".
EINGABEN
wild - Zeiger auf einen String, der das Muster enthält
str - Zeiger auf den zu überprüfenden String
ERGEBNISSE
result - TRUE (1), wenn der String dem Muster entspricht, oder FALSE (0) sonst
BEISPIELE
TestPattern( "*.c|*.h", str ) - ist str ein C Source- or Include-File ?
TestPattern( "*.*|*-*", str ) - enthält str ein '.'- oder '-'-Zeichen ?
TestPattern( "*", str ) - immer TRUE, da jeder String diesem Muster
entspricht
SIEHE AUCH
StrLen, StrCpy, StrCmp, StrIns, UpperCase
multireq.library/DelPort multireq.library/DelPort
NAME
DelPort -- löscht einen Message Port
SYNTAX
DelPort( port )
-66 A1
void DelPort( struct MsgPort * )
FUNKTION
Diese Funktion löscht einen Message Port, dazu wird dieser aus der Betriebs-
systemliste der Message Ports entfernt und anschließend wird der belegte
Speicher wieder freigegeben.
EINGABEN
port - Zeiger auf die MsgPort-Struktur des Message Ports
ERGEBNISSE
BEMERKUNGEN
Diese Funktion ist identisch mit der DeletePort-Funktion der Linkerlibrary
amiga.lib.
SIEHE AUCH
CrtPort
multireq.library/CrtPort multireq.library/CrtPort
NAME
CrtPort -- erzeugt einen Message Port
SYNTAX
port = CrtPort( name, pri )
D0 -72 A0 D0
struct MsgPort *CrtPort( UBYTE *, UWORD )
FUNKTION
Diese Funktion erzeugt einen Message Port mit dem angegebenen Namen und der
ausgewählten Priorität, wobei der Benötigte Speicher reserviert wird. Wenn der
Message Port erzeugt ist, wird er automatisch in die Betriebssystemliste der
Message Ports eingefügt.
EINGABEN
name - Zeiger auf einen nullterminierten String mit dem Namen des Ports oder
0 für keinen Namen
pri - Priorität, die der Message Port haben soll
ERGEBNISSE
port - Zeiger auf die MsgPort-Struktur des Message Ports oder 0, wenn ein
Fehler aufgetretten ist
BEMERKUNGEN
Diese Funktion ist identisch mit der CreatePort-Funktion der Linkerlibrary
amiga.lib.
SIEHE AUCH
DelPort
multireq.library/GetCurrentPath multireq.library/GetCurrentPath
NAME
GetCurrentPath -- ermittelt Namen und Pfad des aktuellen Verzeichnisses
SYNTAX
GetCurrentPath( bufff )
-78 A0
void GetCurrentPath( UBYTE * )
FUNKTION
Diese Funktion ermittelt des Namen und den Pfad des aktuellen Verzeichnisses
und schreibt diesen in den durch buff angegeben Puffer.
EINGABEN
buff - Zeiger auf einen Puffer in den der Namen eingetragen wird
ERGEBNISSE
multireq.library/DrawBox multireq.library/DrawBox
NAME
DrawBox -- malt ein Rechteck mit 3D-Effekt
SYNTAX
DrawBox( rp, x1, y1, x2, y2, col1, col2 )
-84 A1 D0 D1 D2 D3 D4 D5
void DrawBox( struct RastPort *, UWORD, UWORD, UWORD, UWORD, UWORD, UWORD )
FUNKTION
Diese Funktion zeichnet ein Rechteck mit 3D-Effekt in der angegebenen Größe,
wobei der linke und obene Rand in der Farbe col1 und der rechte und untere
Rand in der Farbe col2 gezeichnet wird.
EINGABEN
rp - Zeiger auf den RastPort in dem gezeichnet werden soll
x1 - x-Position der linken oberen Ecke
y1 - y-Position der linken oberen Ecke
x2 - x-Position der rechten unteren Ecke
y2 - y-Position der rechten unteren Ecke
col1 - Farbe des linken und oberen Rands
col2 - Farbe des rechten und unteren Rands
ERGEBNISSE
BEMERKUNGEN
Es muß unbedingt sichergestellt werden, daß x1<x2 und y1<y2 sind, da es sonst
zu Abstürzen kommen kann.
SIEHE AUCH
DrawFilledBox
multireq.library/DrawFilledBox multireq.library/DrawFilledBox
NAME
DrawFilledBox -- malt ein gefülltes Rechteck mit 3D-Effekt
SYNTAX
DrawFilledBox( rp, x1, y1, x2, y2, col1, col2, fillcol )
-90 A1 D0 D1 D2 D3 D4 D5 D6
void DrawFilledBox( struct RastPort *, UWORD, UWORD, UWORD, UWORD, UWORD,
UWORD, UWORD )
FUNKTION
Diese Funktion zeichnet ein gefülltes Rechteck mit 3D-Effekt in der
angegebenen Größe. Dazu wird zuerst das Innere des Rechtecks in der Farbe
fillcol gefüllt und anschließend der Rand mit DrawBox gezeichnet.
EINGABEN
rp - Zeiger auf den RastPort in dem gezeichnet werden soll
x1 - x-Position der linken oberen Ecke
y1 - y-Position der linken oberen Ecke
x2 - x-Position der rechten unteren Ecke
y2 - y-Position der rechten unteren Ecke
col1 - Farbe des linken und oberen Rands
col2 - Farbe des rechten und unteren Rands
fillcol - Farbe mit der das Innere des Rechtecks gefüllt werden soll
ERGEBNISSE
BEMERKUNGEN
Es muß unbedingt sichergestellt werden, daß x1<x2 und y1<y2 sind, da es sonst
zu Abstürzen kommen kann.
SIEHE AUCH
DrawBox
multireq.library/DrawTexts multireq.library/DrawTexts
NAME
DrawTexts -- gibt mehere Text der gleichen Art aus
SYNTAX
DrawTexts( rp, textlist)
-96 A1 A0
void DrawTexts( struct RastPort *, struct MRText * )
FUNKTION
Diese Funktion gibt mehere Texte aus, wobei die Texte von der gleichen Art
sein müssen, d.h. dieselbe Schriftart, Schriftgröße, Zeichenmodus und
Hintergrundfarbe haben müssen, die vor dem Zeichnen von Hand gesetzt werden
muß.
EINGABEN
rp - Zeiger auf den RastPort in dem gezeichnet werden soll
textlist - Zeiger auf ein Array mit MRText-Strukturen und einem Eintag mit dem
Wert -1 als letzten Eintrag
ERGEBNISSE
BEISPIELE
static struct MRText MyTexts[]=
{
{ 10, 15, 2, 6, (UBYTE *)"Text 1" }, /* x, y, pen, len, text */
{ 10, 30, 1, 6, (UBYTE *)"Text 2" },
{ -1, -1, -1, -1, (UBYTE *)-1 } /* last text */
};
/* */
DrawTexts(rp, MyTexts);
/* */
multireq.library/DrawWinBorder multireq.library/DrawWinBorder
NAME
DrawWinBorder -- zeichnet einen 3D-Rand für ein Fenster
SYNTAX
DrawWinBorder( win, title )
-102 A0 A1
void DrawWinBorder( struct Window *, UBYTE * )
FUNKTION
Diese Funktion zeichnet einen 3D-Rand für ein Fenster nach Art der Workbench
2.0, wobei der obere Rand breiter ist als die übrigen und den Fenstertitel
enthält.
Diese Funktion sollte nur verwendet werden, wenn das Fenster vom Typ
BORDERLESS ist, da es sonst zu Problemen mit dem "normalen" Rand des Fensters
kommt.
Diese Funktion ist vor allem für die Verwendung unter Kickstart 1.3
vorgesehen. Unter Kickstart 2.0 sollte der normale Rand vorgezogen werden,
denn dieser bietet mehr Möglichkeiten (z.B. Systemgadgets).
EINGABEN
win - Zeiger auf das Fenster, dessen Rand gezeichnet werden soll
title - Zeiger auf einen nullterminierten String mit dem Festertitel
ERGEBNISSE
multireq.library/DrawGadgetBorder multireq.library/DrawGadgetBorder
NAME
DrawGadgetBorder -- zeichnet den Rand für die Anzahl der angegeben Fenster
SYNTAX
DrawGadgetBorder( gadgets, win, numgad )
-108 A0 A1 D0
void DrawGadgetBorder( struct Gadget *, struct Window *, UWORD )
FUNKTION
Diese Funktion zeichnet für die angegebene Anzahl von Gadgets einen Rand, der
mittel des BORDER-Makros (siehe multireq.h) im UserData-Feld der Gadget-
Struktur definiert wurde.
Der Aufbau des Makros ist wie folgt:
BORDER( type, col1, col2, fillcol )
type - Art des Randes (siehe multireq.h)
col1, col2, fillcol - siehe DrawFilledBox
Eine Liste der möglichen Randarten befindet sich in den jeweiligen Include-
files (multireq.h oder multireq.i).
Nach dem Zeichen des Randes kann es nötig sein das Gadget zu refreshen (mit
RefreshGadgets oder RefreshGList), da DrawGadgetBorder keinen Refresh
durchführt und somit eventuell andere Teile des Gadgets (wie z.B. Texte)
verdeckt.
EINGABEN
gadgets - Zeiger auf das erste Gadget einer verketteten Liste
win - Zeiger auf das Fenster, das das Gadget enthält
numgad - Anzahl der Gadgets, deren Rand gezeichnet werden soll
ERGEBNISSE
multireq.library/InitFileReq multireq.library/InitFileReq
NAME
InitFileReq -- initialisiert eine FileReq-Struktur
SYNTAX
InitFileReq( fr_ptr, numlist )
-114 A0 D0
void InitFileReq( struct FileReq **, UWORD )
FUNKTION
Diese Funktion initialisiert eine FileReq-Struktur, dazu wird zuerst der
benötige Speicher reserviert und anschließend werden alle benötigten Daten des
FileRequesters gesetzt. Dannach wird der Zeiger auf die FileReq-Struktur in
die durch fr_ptr bestimmte Adresse geschrieben.
Die Option numlist wird in dieser Version nicht verwendet, sollte jedoch immer
auf 2 gesetzt sein, da sonst bei neueren Versionen der multireq.library
Probleme auftauchen könnten.
EINGABEN
fr_ptr - Adresse eines Zeigers auf eine FileReq-Struktur
numlist - Anzahl der Verzeichnislisten (in dieser Version immer 2)
ERGEBNISSE
SIEHE AUCH
FreeFileReq, FileRequester
multireq.library/FreeFileReq multireq.library/FreeFileReq
NAME
FreeFileReq -- gibt eine zuvor initialisierte FileReq-Struktur wieder frei
SYNTAX
FreeFileReq( fr_ptr )
-120 A0
void FreeFileReq( struct FileReq ** )
FUNKTION
Diese Funktion gibt eine eine durch InitFileReq erzeugt FileReq-Struktur,
sowie eventuell eingelesene Verzeichnisse wieder frei und löscht anschließend
den Zeiger auf die Struktur.
Diese Funktion sollte unbedingt aufgerufen werden, bevor eine Programm beendet
wird, da sonst der belegte Speicher nicht mehr freigegeben wird.
EINGABEN
fr_ptr - Adresse eines Zeigers auf eine FileReq-Struktur
ERGEBNISSE
SIEHE AUCH
InitFileReq, FileRequester
multireq.library/FileRequester multireq.library/FileRequester
NAME
FileRequester -- startet den eigentlichen FileRequester
SYNTAX
status = FileRequester( filereq, screen )
D0 -126 A0 A1
UWORD FileRequester( struct FileReq *, struct Screen * )
FUNKTION
Diese Funktion startet den FileRequester auf dem durch screen definierten
Screen (0 = WorkBench-Screen) und verwendet dazu die in der FileReq-Struktur
definieren Werte. Bei dem Screen muß es sich um einen Hires-Screen handeln, da
ein Lores-Screen aufgrund der geringen Breite zu klein für den FileRequester
ist.
Der FileRequester ist in dem File "FileReq.dok" ausführlich beschrieben.
Die Parameter der FileReq-Struktur sind in den Includefiles "multireq.i" und
"multireq.h" beschreiben.
EINGABEN
filereq - Zeiger auf eine FileReq-Struktur
screen - Zeiger auf den Screen auf dem der FileRequester geöffnet werden soll
ERGEBNISSE
status - Enthält den Zustände mit der FileRequester beendet wurde. Dieser Wert
ist identisch mit dem ReturnStatus-Eintrag der FileReq-Struktur.
(Ein Liste der möglichen Zustände befindet sich ebenfalls in den
Includefiles.)
SIEHE AUCH
InitFileReq, FreeFileReq
Wenn Sie Probleme, Anregungen, Verbesserungsvorschläge oder der gleichen haben,
dann schicken Sie diese bitte an mich:
Andreas Krebs
Mittelweg 9
7110 Öhringen 2
Germany
Tel.: 07948/2101 (am Wochenende und in den Semesterferien)
0721/821356 (sonst)
Oder per Email einfach an folgende Adresse.
Email: s_krebs@iravcl.ira.uka.de